Python - Copy Lists

பைத்தான் - பட்டியல்களை நகலெடுத்தல்

Copy a List

நீங்கள் list2 = list1 என்று தட்டச்சு செய்வதன் மூலம் பட்டியலை நகலெடுக்க முடியாது, ஏனெனில்: list2 list1 க்கு ஒரு குறிப்பு மட்டுமே இருக்கும், மேலும் list1 இல் செய்யப்படும் மாற்றங்கள் தானாகவே list2 இலும் செய்யப்படும்.

⚠️ முக்கியமான எச்சரிக்கை:

list2 = list1 என்பது நகல் அல்ல - இது குறிப்பு மட்டுமே. list1 இல் மாற்றம் செய்தால், அது list2 இலும் பிரதிபலிக்கும்.

Use the copy() method

நீங்கள் ஒரு பட்டியலை நகலெடுக்க உள்ளமைக்கப்பட்ட பட்டியல் முறை copy() ஐப் பயன்படுத்தலாம்.

Example

thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist)

Use the list() method

நகல் உருவாக்க மற்றொரு வழி உள்ளமைக்கப்பட்ட முறை list() ஐப் பயன்படுத்துவதாகும்.

Example

thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)
print(mylist)

Use the slice Operator

நீங்கள் : (வெட்டு) ஆபரேட்டரைப் பயன்படுத்தி ஒரு பட்டியலின் நகலை உருவாக்கலாம்.

Example

thislist = ["apple", "banana", "cherry"]
mylist = thislist[:]
print(mylist)

Reference vs Copy

Original List (list1):
["apple", "banana", "cherry"]
Reference (WRONG):
list2 = list1
✗ Same memory location
Copy (CORRECT):
list2 = list1.copy()
✓ Different memory location

Copy Methods

📋
copy() method
list2 = list1.copy()

மிகவும் பொதுவான மற்றும் தெளிவான முறை

📝
list() method
list2 = list(list1)

பட்டியல் கட்டமைப்பாளரைப் பயன்படுத்துதல்

🔪
Slice operator
list2 = list1[:]

முழு பட்டியலையும் வெட்டி எடுத்தல்

🚫
Wrong way
list2 = list1

குறிப்பு மட்டுமே, நகல் அல்ல

💡 உதவிக்குறிப்பு:

ஆழமான நகல் vs புறநிலை நகல்: மேலே உள்ள முறைகள் புறநிலை நகல்களை உருவாக்குகின்றன. உள் பட்டியல்கள் அல்லது அகராதிகளைக் கொண்ட பட்டியல்களுக்கு, நீங்கள் ஆழமான நகல்கள் செய்ய copy மாட்யூலின் deepcopy() செயல்பாட்டைப் பயன்படுத்த வேண்டும்.

Exercise

பட்டியலின் நகலை உருவாக்க சரியான தொடரியல் எது?

list2 = list1
✗ தவறு! இது நகல் அல்ல - இது குறிப்பு மட்டுமே. list1 இல் மாற்றங்கள் list2 இலும் பிரதிபலிக்கும்
list2 = list1.copy()
✓ சரி! copy() முறை பட்டியலின் சுயாதீன நகலை உருவாக்குகிறது
list2.copy(list1)
✗ தவறு! copy() முறை இந்த வழியில் அழைக்கப்படுவதில்லை. இது list1.copy() என்று அழைக்கப்படுகிறது